iT邦幫忙

2022 iThome 鐵人賽

DAY 18
0
Software Development

Web專案建置雜談系列 第 18

Web專案建置雜談 - 實作篇(六)

  • 分享至 

  • xImage
  •  

所有環境建置都已經妥當了,接著第一步我們就要來先把我們的專案所要連接的database連線及測試的寫入讀取都準備好。

Redis連線

這邊我們選用的是 npm 上面仍然在正常維護的這個套件

用以下指令進行安裝之後便可以在node.js中套用

npm i redis
  1. 接著我們可以在專案裡面添加 redis 連線的方法,這邊我們先在專案的跟目錄下添加資料夾和程序來控管這些連線

    ├── base                
    │   └── dbHelper       
            └── index.js
    
  2. 添加 index.js

    const redis = require('redis');
    const redisClient = redis.createClient({ url: `redis://database_redis:6379`, password: '123456' });
    
    redisClient.on('ready', () => {
        console.log('✅ Redis 準備好了 !');
    });
    redisClient.on('error', function (error) {
        console.log(`❗️ Redis 錯誤: ${error}`);
    });
    redisClient.on('connect', () => {
        console.log('✅ Redis 連線成功 !');
    });
    redisClient.connect();
    
    (async () => {
        await redisClient.set('QQ', '123456');
        let QQ = await redisClient.get('QQ');
        console.log(`測試寫入 ${QQ}`);
    })();
    
    module.exports.redisClient = redisClient;
    
  3. 接著把引用放進去app.js裡面,這樣在程序啟動的同時就會把連線給建立起來了

MySQL連線

這邊我們選用的是 npm 上面仍然在正常維護的這個套件

用以下指令進行安裝之後便可以在node.js中套用

npm i redis
  1. 添加 index.js
    const mysql = require('mysql2');
    
    
    const mysqlConnection = mysql.createConnection({
        host: 'database_mysql',
        user: 'root',
        password: '123456',
        database: 'mysql',
    });
    
    
    mysqlConnection.query('SELECT * FROM `db`', function (err, results, fields) {
        console.log(results); // results contains rows returned by server
    });
    
    module.exports.mysqlConnection = mysqlConnection;
    
  2. 執行後可以看到有正常的取道資料,即可以確認連線成功了!

之後dbHelper這隻檔案就可以,進行資料控管,也可以對其更進一步的封裝,只需要在需要使用的地方引用var dbHelper = require('./base/dbHelper');即可。在下一個章節便要來透過API來進行資料的寫入和讀取了(實作CRUD)


上一篇
Web專案建置雜談 - 實作篇(五)
下一篇
Web專案建置雜談 - 實作篇(七)
系列文
Web專案建置雜談30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言